﻿Imports System.Collections

''' <summary>
''' This is a game component that implements IUpdateable.
''' </summary>

Public Class WorldManager
    Inherits Microsoft.Xna.Framework.GameComponent

    Public SpawnData As ArrayList

    Public Structure Spawn
        Public Name As String
        Public Coords As Vector4
        Public Timer As Integer
    End Structure

    Public Sub New(ByVal Game As DanoQuest)
        MyBase.New(Game)
        Me.Game.Components.Add(Me)
        SpawnData = New ArrayList
        SpawnData.Add(New Spawn With {.Name = "a small rat", .Coords = New Vector4(1, 1, 1, 11), .Timer = 10}) '(Name, Coords, Spawntimer)  With {.SpawnOnLoad = False}
        SpawnData.Add(New Spawn With {.Name = "a small bat", .Coords = New Vector4(2, 2, 1, 11), .Timer = 15})
        SpawnData.Add(New Spawn With {.Name = "a small spider", .Coords = New Vector4(3, 3, 1, 11), .Timer = 30})
        ' TODO: Construct any child components here
    End Sub

    ''' <summary>
    ''' Allows the game component to perform any initialization it needs to before starting
    ''' to run.  This is where it can query for any required services and load content.
    ''' </summary>
    Public Overrides Sub Initialize()
        ' TODO: Add your initialization code here
        MyBase.Initialize()
    End Sub

    ''' <summary>
    ''' Allows the game component to update itself.
    ''' </summary>
    ''' <param name="gameTime">Provides a snapshot of timing values.</param>
    Public Overrides Sub Update(ByVal gameTime As GameTime)
        ' TODO: Add your update code here
        MyBase.Update(gameTime)
    End Sub

End Class
